/**
 * Created by Sean Patrick Floyd (<a
 * href="mailto:sfloyd@mytoys.de">sfloyd@mytoys.de</a>) on 14.06.2010.
 */
package com.google.code.wicket.auth.component.value.provider.session;

import java.util.Collection;

import org.apache.wicket.Session;

/**
 * Provides pseudo-authentication and authorization through a custom session
 * object.
 * 
 * @param <S>
 *            Session type
 * @param <T>
 *            Privilege type
 */
public interface SessionMultiAuthorizationProvider<S extends Session, T>
        extends SessionLoginProvider<S> {

    /**
     * Get all privileges for the current session. Should only be called when
     * {@link #isLoggedIn(Session)} returns true.
     * 
     * @param session
     * @return
     */
    Collection<T> getPrivileges(S session);

}
